﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using NLog.Extensions.Logging;

namespace gt.ApiGateway
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateWebHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>()
                                    .ConfigureAppConfiguration((hostingContext, builder) =>
                                    {
                                        builder.SetBasePath(hostingContext.HostingEnvironment.ContentRootPath)
                                            .AddJsonFile("ocelot.json", false, true);
                                    })
                                    .ConfigureLogging((hostingContext, builder) =>
                                    {
                                        builder.AddNLog();
                                    });
                });
    }
}
